package com.example.demo.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class PrescPatientExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public PrescPatientExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andSIdIsNull() {
            addCriterion("S_ID is null");
            return (Criteria) this;
        }

        public Criteria andSIdIsNotNull() {
            addCriterion("S_ID is not null");
            return (Criteria) this;
        }

        public Criteria andSIdEqualTo(String value) {
            addCriterion("S_ID =", value, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdNotEqualTo(String value) {
            addCriterion("S_ID <>", value, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdGreaterThan(String value) {
            addCriterion("S_ID >", value, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdGreaterThanOrEqualTo(String value) {
            addCriterion("S_ID >=", value, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdLessThan(String value) {
            addCriterion("S_ID <", value, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdLessThanOrEqualTo(String value) {
            addCriterion("S_ID <=", value, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdLike(String value) {
            addCriterion("S_ID like", value, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdNotLike(String value) {
            addCriterion("S_ID not like", value, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdIn(List<String> values) {
            addCriterion("S_ID in", values, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdNotIn(List<String> values) {
            addCriterion("S_ID not in", values, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdBetween(String value1, String value2) {
            addCriterion("S_ID between", value1, value2, "sId");
            return (Criteria) this;
        }

        public Criteria andSIdNotBetween(String value1, String value2) {
            addCriterion("S_ID not between", value1, value2, "sId");
            return (Criteria) this;
        }

        public Criteria andSApplyIdIsNull() {
            addCriterion("S_APPLY_ID is null");
            return (Criteria) this;
        }

        public Criteria andSApplyIdIsNotNull() {
            addCriterion("S_APPLY_ID is not null");
            return (Criteria) this;
        }

        public Criteria andSApplyIdEqualTo(String value) {
            addCriterion("S_APPLY_ID =", value, "sApplyId");
            return (Criteria) this;
        }

        public Criteria andSApplyIdNotEqualTo(String value) {
            addCriterion("S_APPLY_ID <>", value, "sApplyId");
            return (Criteria) this;
        }

        public Criteria andSApplyIdGreaterThan(String value) {
            addCriterion("S_APPLY_ID >", value, "sApplyId");
            return (Criteria) this;
        }

        public Criteria andSApplyIdGreaterThanOrEqualTo(String value) {
            addCriterion("S_APPLY_ID >=", value, "sApplyId");
            return (Criteria) this;
        }

        public Criteria andSApplyIdLessThan(String value) {
            addCriterion("S_APPLY_ID <", value, "sApplyId");
            return (Criteria) this;
        }

        public Criteria andSApplyIdLessThanOrEqualTo(String value) {
            addCriterion("S_APPLY_ID <=", value, "sApplyId");
            return (Criteria) this;
        }

        public Criteria andSApplyIdLike(String value) {
            addCriterion("S_APPLY_ID like", value, "sApplyId");
            return (Criteria) this;
        }

        public Criteria andSApplyIdNotLike(String value) {
            addCriterion("S_APPLY_ID not like", value, "sApplyId");
            return (Criteria) this;
        }

        public Criteria andSApplyIdIn(List<String> values) {
            addCriterion("S_APPLY_ID in", values, "sApplyId");
            return (Criteria) this;
        }

        public Criteria andSApplyIdNotIn(List<String> values) {
            addCriterion("S_APPLY_ID not in", values, "sApplyId");
            return (Criteria) this;
        }

        public Criteria andSApplyIdBetween(String value1, String value2) {
            addCriterion("S_APPLY_ID between", value1, value2, "sApplyId");
            return (Criteria) this;
        }

        public Criteria andSApplyIdNotBetween(String value1, String value2) {
            addCriterion("S_APPLY_ID not between", value1, value2, "sApplyId");
            return (Criteria) this;
        }

        public Criteria andSPatientNameIsNull() {
            addCriterion("S_PATIENT_NAME is null");
            return (Criteria) this;
        }

        public Criteria andSPatientNameIsNotNull() {
            addCriterion("S_PATIENT_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andSPatientNameEqualTo(String value) {
            addCriterion("S_PATIENT_NAME =", value, "sPatientName");
            return (Criteria) this;
        }

        public Criteria andSPatientNameNotEqualTo(String value) {
            addCriterion("S_PATIENT_NAME <>", value, "sPatientName");
            return (Criteria) this;
        }

        public Criteria andSPatientNameGreaterThan(String value) {
            addCriterion("S_PATIENT_NAME >", value, "sPatientName");
            return (Criteria) this;
        }

        public Criteria andSPatientNameGreaterThanOrEqualTo(String value) {
            addCriterion("S_PATIENT_NAME >=", value, "sPatientName");
            return (Criteria) this;
        }

        public Criteria andSPatientNameLessThan(String value) {
            addCriterion("S_PATIENT_NAME <", value, "sPatientName");
            return (Criteria) this;
        }

        public Criteria andSPatientNameLessThanOrEqualTo(String value) {
            addCriterion("S_PATIENT_NAME <=", value, "sPatientName");
            return (Criteria) this;
        }

        public Criteria andSPatientNameLike(String value) {
            addCriterion("S_PATIENT_NAME like", value, "sPatientName");
            return (Criteria) this;
        }

        public Criteria andSPatientNameNotLike(String value) {
            addCriterion("S_PATIENT_NAME not like", value, "sPatientName");
            return (Criteria) this;
        }

        public Criteria andSPatientNameIn(List<String> values) {
            addCriterion("S_PATIENT_NAME in", values, "sPatientName");
            return (Criteria) this;
        }

        public Criteria andSPatientNameNotIn(List<String> values) {
            addCriterion("S_PATIENT_NAME not in", values, "sPatientName");
            return (Criteria) this;
        }

        public Criteria andSPatientNameBetween(String value1, String value2) {
            addCriterion("S_PATIENT_NAME between", value1, value2, "sPatientName");
            return (Criteria) this;
        }

        public Criteria andSPatientNameNotBetween(String value1, String value2) {
            addCriterion("S_PATIENT_NAME not between", value1, value2, "sPatientName");
            return (Criteria) this;
        }

        public Criteria andNPatientGenderIsNull() {
            addCriterion("N_PATIENT_GENDER is null");
            return (Criteria) this;
        }

        public Criteria andNPatientGenderIsNotNull() {
            addCriterion("N_PATIENT_GENDER is not null");
            return (Criteria) this;
        }

        public Criteria andNPatientGenderEqualTo(Short value) {
            addCriterion("N_PATIENT_GENDER =", value, "nPatientGender");
            return (Criteria) this;
        }

        public Criteria andNPatientGenderNotEqualTo(Short value) {
            addCriterion("N_PATIENT_GENDER <>", value, "nPatientGender");
            return (Criteria) this;
        }

        public Criteria andNPatientGenderGreaterThan(Short value) {
            addCriterion("N_PATIENT_GENDER >", value, "nPatientGender");
            return (Criteria) this;
        }

        public Criteria andNPatientGenderGreaterThanOrEqualTo(Short value) {
            addCriterion("N_PATIENT_GENDER >=", value, "nPatientGender");
            return (Criteria) this;
        }

        public Criteria andNPatientGenderLessThan(Short value) {
            addCriterion("N_PATIENT_GENDER <", value, "nPatientGender");
            return (Criteria) this;
        }

        public Criteria andNPatientGenderLessThanOrEqualTo(Short value) {
            addCriterion("N_PATIENT_GENDER <=", value, "nPatientGender");
            return (Criteria) this;
        }

        public Criteria andNPatientGenderIn(List<Short> values) {
            addCriterion("N_PATIENT_GENDER in", values, "nPatientGender");
            return (Criteria) this;
        }

        public Criteria andNPatientGenderNotIn(List<Short> values) {
            addCriterion("N_PATIENT_GENDER not in", values, "nPatientGender");
            return (Criteria) this;
        }

        public Criteria andNPatientGenderBetween(Short value1, Short value2) {
            addCriterion("N_PATIENT_GENDER between", value1, value2, "nPatientGender");
            return (Criteria) this;
        }

        public Criteria andNPatientGenderNotBetween(Short value1, Short value2) {
            addCriterion("N_PATIENT_GENDER not between", value1, value2, "nPatientGender");
            return (Criteria) this;
        }

        public Criteria andNPatientAgeIsNull() {
            addCriterion("N_PATIENT_AGE is null");
            return (Criteria) this;
        }

        public Criteria andNPatientAgeIsNotNull() {
            addCriterion("N_PATIENT_AGE is not null");
            return (Criteria) this;
        }

        public Criteria andNPatientAgeEqualTo(Short value) {
            addCriterion("N_PATIENT_AGE =", value, "nPatientAge");
            return (Criteria) this;
        }

        public Criteria andNPatientAgeNotEqualTo(Short value) {
            addCriterion("N_PATIENT_AGE <>", value, "nPatientAge");
            return (Criteria) this;
        }

        public Criteria andNPatientAgeGreaterThan(Short value) {
            addCriterion("N_PATIENT_AGE >", value, "nPatientAge");
            return (Criteria) this;
        }

        public Criteria andNPatientAgeGreaterThanOrEqualTo(Short value) {
            addCriterion("N_PATIENT_AGE >=", value, "nPatientAge");
            return (Criteria) this;
        }

        public Criteria andNPatientAgeLessThan(Short value) {
            addCriterion("N_PATIENT_AGE <", value, "nPatientAge");
            return (Criteria) this;
        }

        public Criteria andNPatientAgeLessThanOrEqualTo(Short value) {
            addCriterion("N_PATIENT_AGE <=", value, "nPatientAge");
            return (Criteria) this;
        }

        public Criteria andNPatientAgeIn(List<Short> values) {
            addCriterion("N_PATIENT_AGE in", values, "nPatientAge");
            return (Criteria) this;
        }

        public Criteria andNPatientAgeNotIn(List<Short> values) {
            addCriterion("N_PATIENT_AGE not in", values, "nPatientAge");
            return (Criteria) this;
        }

        public Criteria andNPatientAgeBetween(Short value1, Short value2) {
            addCriterion("N_PATIENT_AGE between", value1, value2, "nPatientAge");
            return (Criteria) this;
        }

        public Criteria andNPatientAgeNotBetween(Short value1, Short value2) {
            addCriterion("N_PATIENT_AGE not between", value1, value2, "nPatientAge");
            return (Criteria) this;
        }

        public Criteria andSPatientCardIdIsNull() {
            addCriterion("S_PATIENT_CARD_ID is null");
            return (Criteria) this;
        }

        public Criteria andSPatientCardIdIsNotNull() {
            addCriterion("S_PATIENT_CARD_ID is not null");
            return (Criteria) this;
        }

        public Criteria andSPatientCardIdEqualTo(String value) {
            addCriterion("S_PATIENT_CARD_ID =", value, "sPatientCardId");
            return (Criteria) this;
        }

        public Criteria andSPatientCardIdNotEqualTo(String value) {
            addCriterion("S_PATIENT_CARD_ID <>", value, "sPatientCardId");
            return (Criteria) this;
        }

        public Criteria andSPatientCardIdGreaterThan(String value) {
            addCriterion("S_PATIENT_CARD_ID >", value, "sPatientCardId");
            return (Criteria) this;
        }

        public Criteria andSPatientCardIdGreaterThanOrEqualTo(String value) {
            addCriterion("S_PATIENT_CARD_ID >=", value, "sPatientCardId");
            return (Criteria) this;
        }

        public Criteria andSPatientCardIdLessThan(String value) {
            addCriterion("S_PATIENT_CARD_ID <", value, "sPatientCardId");
            return (Criteria) this;
        }

        public Criteria andSPatientCardIdLessThanOrEqualTo(String value) {
            addCriterion("S_PATIENT_CARD_ID <=", value, "sPatientCardId");
            return (Criteria) this;
        }

        public Criteria andSPatientCardIdLike(String value) {
            addCriterion("S_PATIENT_CARD_ID like", value, "sPatientCardId");
            return (Criteria) this;
        }

        public Criteria andSPatientCardIdNotLike(String value) {
            addCriterion("S_PATIENT_CARD_ID not like", value, "sPatientCardId");
            return (Criteria) this;
        }

        public Criteria andSPatientCardIdIn(List<String> values) {
            addCriterion("S_PATIENT_CARD_ID in", values, "sPatientCardId");
            return (Criteria) this;
        }

        public Criteria andSPatientCardIdNotIn(List<String> values) {
            addCriterion("S_PATIENT_CARD_ID not in", values, "sPatientCardId");
            return (Criteria) this;
        }

        public Criteria andSPatientCardIdBetween(String value1, String value2) {
            addCriterion("S_PATIENT_CARD_ID between", value1, value2, "sPatientCardId");
            return (Criteria) this;
        }

        public Criteria andSPatientCardIdNotBetween(String value1, String value2) {
            addCriterion("S_PATIENT_CARD_ID not between", value1, value2, "sPatientCardId");
            return (Criteria) this;
        }

        public Criteria andSPatientMobileIsNull() {
            addCriterion("S_PATIENT_MOBILE is null");
            return (Criteria) this;
        }

        public Criteria andSPatientMobileIsNotNull() {
            addCriterion("S_PATIENT_MOBILE is not null");
            return (Criteria) this;
        }

        public Criteria andSPatientMobileEqualTo(String value) {
            addCriterion("S_PATIENT_MOBILE =", value, "sPatientMobile");
            return (Criteria) this;
        }

        public Criteria andSPatientMobileNotEqualTo(String value) {
            addCriterion("S_PATIENT_MOBILE <>", value, "sPatientMobile");
            return (Criteria) this;
        }

        public Criteria andSPatientMobileGreaterThan(String value) {
            addCriterion("S_PATIENT_MOBILE >", value, "sPatientMobile");
            return (Criteria) this;
        }

        public Criteria andSPatientMobileGreaterThanOrEqualTo(String value) {
            addCriterion("S_PATIENT_MOBILE >=", value, "sPatientMobile");
            return (Criteria) this;
        }

        public Criteria andSPatientMobileLessThan(String value) {
            addCriterion("S_PATIENT_MOBILE <", value, "sPatientMobile");
            return (Criteria) this;
        }

        public Criteria andSPatientMobileLessThanOrEqualTo(String value) {
            addCriterion("S_PATIENT_MOBILE <=", value, "sPatientMobile");
            return (Criteria) this;
        }

        public Criteria andSPatientMobileLike(String value) {
            addCriterion("S_PATIENT_MOBILE like", value, "sPatientMobile");
            return (Criteria) this;
        }

        public Criteria andSPatientMobileNotLike(String value) {
            addCriterion("S_PATIENT_MOBILE not like", value, "sPatientMobile");
            return (Criteria) this;
        }

        public Criteria andSPatientMobileIn(List<String> values) {
            addCriterion("S_PATIENT_MOBILE in", values, "sPatientMobile");
            return (Criteria) this;
        }

        public Criteria andSPatientMobileNotIn(List<String> values) {
            addCriterion("S_PATIENT_MOBILE not in", values, "sPatientMobile");
            return (Criteria) this;
        }

        public Criteria andSPatientMobileBetween(String value1, String value2) {
            addCriterion("S_PATIENT_MOBILE between", value1, value2, "sPatientMobile");
            return (Criteria) this;
        }

        public Criteria andSPatientMobileNotBetween(String value1, String value2) {
            addCriterion("S_PATIENT_MOBILE not between", value1, value2, "sPatientMobile");
            return (Criteria) this;
        }

        public Criteria andDBirthdayIsNull() {
            addCriterion("D_BIRTHDAY is null");
            return (Criteria) this;
        }

        public Criteria andDBirthdayIsNotNull() {
            addCriterion("D_BIRTHDAY is not null");
            return (Criteria) this;
        }

        public Criteria andDBirthdayEqualTo(Date value) {
            addCriterion("D_BIRTHDAY =", value, "dBirthday");
            return (Criteria) this;
        }

        public Criteria andDBirthdayNotEqualTo(Date value) {
            addCriterion("D_BIRTHDAY <>", value, "dBirthday");
            return (Criteria) this;
        }

        public Criteria andDBirthdayGreaterThan(Date value) {
            addCriterion("D_BIRTHDAY >", value, "dBirthday");
            return (Criteria) this;
        }

        public Criteria andDBirthdayGreaterThanOrEqualTo(Date value) {
            addCriterion("D_BIRTHDAY >=", value, "dBirthday");
            return (Criteria) this;
        }

        public Criteria andDBirthdayLessThan(Date value) {
            addCriterion("D_BIRTHDAY <", value, "dBirthday");
            return (Criteria) this;
        }

        public Criteria andDBirthdayLessThanOrEqualTo(Date value) {
            addCriterion("D_BIRTHDAY <=", value, "dBirthday");
            return (Criteria) this;
        }

        public Criteria andDBirthdayIn(List<Date> values) {
            addCriterion("D_BIRTHDAY in", values, "dBirthday");
            return (Criteria) this;
        }

        public Criteria andDBirthdayNotIn(List<Date> values) {
            addCriterion("D_BIRTHDAY not in", values, "dBirthday");
            return (Criteria) this;
        }

        public Criteria andDBirthdayBetween(Date value1, Date value2) {
            addCriterion("D_BIRTHDAY between", value1, value2, "dBirthday");
            return (Criteria) this;
        }

        public Criteria andDBirthdayNotBetween(Date value1, Date value2) {
            addCriterion("D_BIRTHDAY not between", value1, value2, "dBirthday");
            return (Criteria) this;
        }

        public Criteria andSDescIsNull() {
            addCriterion("S_DESC is null");
            return (Criteria) this;
        }

        public Criteria andSDescIsNotNull() {
            addCriterion("S_DESC is not null");
            return (Criteria) this;
        }

        public Criteria andSDescEqualTo(String value) {
            addCriterion("S_DESC =", value, "sDesc");
            return (Criteria) this;
        }

        public Criteria andSDescNotEqualTo(String value) {
            addCriterion("S_DESC <>", value, "sDesc");
            return (Criteria) this;
        }

        public Criteria andSDescGreaterThan(String value) {
            addCriterion("S_DESC >", value, "sDesc");
            return (Criteria) this;
        }

        public Criteria andSDescGreaterThanOrEqualTo(String value) {
            addCriterion("S_DESC >=", value, "sDesc");
            return (Criteria) this;
        }

        public Criteria andSDescLessThan(String value) {
            addCriterion("S_DESC <", value, "sDesc");
            return (Criteria) this;
        }

        public Criteria andSDescLessThanOrEqualTo(String value) {
            addCriterion("S_DESC <=", value, "sDesc");
            return (Criteria) this;
        }

        public Criteria andSDescLike(String value) {
            addCriterion("S_DESC like", value, "sDesc");
            return (Criteria) this;
        }

        public Criteria andSDescNotLike(String value) {
            addCriterion("S_DESC not like", value, "sDesc");
            return (Criteria) this;
        }

        public Criteria andSDescIn(List<String> values) {
            addCriterion("S_DESC in", values, "sDesc");
            return (Criteria) this;
        }

        public Criteria andSDescNotIn(List<String> values) {
            addCriterion("S_DESC not in", values, "sDesc");
            return (Criteria) this;
        }

        public Criteria andSDescBetween(String value1, String value2) {
            addCriterion("S_DESC between", value1, value2, "sDesc");
            return (Criteria) this;
        }

        public Criteria andSDescNotBetween(String value1, String value2) {
            addCriterion("S_DESC not between", value1, value2, "sDesc");
            return (Criteria) this;
        }

        public Criteria andDCreateIsNull() {
            addCriterion("D_CREATE is null");
            return (Criteria) this;
        }

        public Criteria andDCreateIsNotNull() {
            addCriterion("D_CREATE is not null");
            return (Criteria) this;
        }

        public Criteria andDCreateEqualTo(Date value) {
            addCriterion("D_CREATE =", value, "dCreate");
            return (Criteria) this;
        }

        public Criteria andDCreateNotEqualTo(Date value) {
            addCriterion("D_CREATE <>", value, "dCreate");
            return (Criteria) this;
        }

        public Criteria andDCreateGreaterThan(Date value) {
            addCriterion("D_CREATE >", value, "dCreate");
            return (Criteria) this;
        }

        public Criteria andDCreateGreaterThanOrEqualTo(Date value) {
            addCriterion("D_CREATE >=", value, "dCreate");
            return (Criteria) this;
        }

        public Criteria andDCreateLessThan(Date value) {
            addCriterion("D_CREATE <", value, "dCreate");
            return (Criteria) this;
        }

        public Criteria andDCreateLessThanOrEqualTo(Date value) {
            addCriterion("D_CREATE <=", value, "dCreate");
            return (Criteria) this;
        }

        public Criteria andDCreateIn(List<Date> values) {
            addCriterion("D_CREATE in", values, "dCreate");
            return (Criteria) this;
        }

        public Criteria andDCreateNotIn(List<Date> values) {
            addCriterion("D_CREATE not in", values, "dCreate");
            return (Criteria) this;
        }

        public Criteria andDCreateBetween(Date value1, Date value2) {
            addCriterion("D_CREATE between", value1, value2, "dCreate");
            return (Criteria) this;
        }

        public Criteria andDCreateNotBetween(Date value1, Date value2) {
            addCriterion("D_CREATE not between", value1, value2, "dCreate");
            return (Criteria) this;
        }

        public Criteria andDUpdateIsNull() {
            addCriterion("D_UPDATE is null");
            return (Criteria) this;
        }

        public Criteria andDUpdateIsNotNull() {
            addCriterion("D_UPDATE is not null");
            return (Criteria) this;
        }

        public Criteria andDUpdateEqualTo(Date value) {
            addCriterion("D_UPDATE =", value, "dUpdate");
            return (Criteria) this;
        }

        public Criteria andDUpdateNotEqualTo(Date value) {
            addCriterion("D_UPDATE <>", value, "dUpdate");
            return (Criteria) this;
        }

        public Criteria andDUpdateGreaterThan(Date value) {
            addCriterion("D_UPDATE >", value, "dUpdate");
            return (Criteria) this;
        }

        public Criteria andDUpdateGreaterThanOrEqualTo(Date value) {
            addCriterion("D_UPDATE >=", value, "dUpdate");
            return (Criteria) this;
        }

        public Criteria andDUpdateLessThan(Date value) {
            addCriterion("D_UPDATE <", value, "dUpdate");
            return (Criteria) this;
        }

        public Criteria andDUpdateLessThanOrEqualTo(Date value) {
            addCriterion("D_UPDATE <=", value, "dUpdate");
            return (Criteria) this;
        }

        public Criteria andDUpdateIn(List<Date> values) {
            addCriterion("D_UPDATE in", values, "dUpdate");
            return (Criteria) this;
        }

        public Criteria andDUpdateNotIn(List<Date> values) {
            addCriterion("D_UPDATE not in", values, "dUpdate");
            return (Criteria) this;
        }

        public Criteria andDUpdateBetween(Date value1, Date value2) {
            addCriterion("D_UPDATE between", value1, value2, "dUpdate");
            return (Criteria) this;
        }

        public Criteria andDUpdateNotBetween(Date value1, Date value2) {
            addCriterion("D_UPDATE not between", value1, value2, "dUpdate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}